home *** CD-ROM | disk | FTP | other *** search
/ LOGIC Apps / Logic-APPLE_II_APPS.iso / pc / LOGIC Apple II 5.25" Library - DOS Part 7 / DOS210.dsk / CAMAD.bas < prev    next >
BASIC Source File  |  2012-02-16  |  10KB  |  125 lines

  1. 5  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>       <CTRL-M>      ** CROSSING THE RIVER **<CTRL-M><CTRL-M>   CREATED BY GEOFFREY WOW HOWELL<CTRL-J>
  2. 10  DEF  FN C(Q) = 20 - INT( LEN(A$)/2): TEXT : HOME : VTAB 7:A$ = "CROSSING THE RIVER": HTAB  FN C(0): PRINT A$: PRINT :A$ = "BY GEOFFREY WOW HOWELL": PRINT : HTAB  FN C(0): PRINT A$
  3. 13 KY =  -16384:KC =  -16368:Q$ =  CHR$(34)
  4. 15  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>        <CTRL-M>** GO DEFINE VARS<CTRL-J>
  5. 20  GOSUB 10000: GOSUB 20000: GOSUB 30000: GOSUB 50000:A$ = "PRESS ANY KEY TO BEGIN": HTAB  FN C(20): VTAB 23: PRINT A$: POKE KC,0: WAIT KY,128: HOME : POKE KC,0
  6. 30 RO% = 1:OC% = 0:MC% = 8: REM  **ROOM=1, OBJECTS CARRIED=0, MAX CARRIED=2. 
  7. 35 NB = 1:SAD = 1:FAD = 1: REM  BULLETS, SNAKE ALIVE OR DEAD, FROG ALIVE OR DEAD
  8. 40  PRINT DE$(RO%)
  9. 50  FOR I = 1 TO NN%: IF OB%(I) = RO%  THEN  PRINT : PRINT OB$(I)
  10. 60  NEXT I
  11. 70  REM  ** DIVIDE INTO   NOUN & VERB
  12. 73  PRINT 
  13. 75 X =  FRE(0): INPUT ">";IN$: IF IN$ = ""  THEN 75
  14. 80  FOR I = 1 TO  LEN(IN$): IF  MID$ (IN$,I,1) < >" "  THEN  NEXT :
  15. 90 V$ =  LEFT$(IN$,I -1):N$ =  MID$ (IN$,I +1)
  16. 95  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>        <CTRL-M>** DECODE NOUN & VERB<CTRL-J>
  17. 100  FOR I = 1 TO NV%: IF V$ < >V$(I)  THEN  NEXT : PRINT "A GHOSTLY VOICE SAYS, 'NO "V$"'N": PRINT "ALLOWED ON THE FAIRGROUNDS.'": GOTO 70
  18. 110 VE% = I:I =  -1: IF N$ < >""  THEN  FOR I = 1 TO NN%: IF N$ < >N$(I)  THEN  NEXT : PRINT "..."N$"?": GOTO 70
  19. 120 NO% = I
  20. 125  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>        <CTRL-M>*** EXECUTE COMMAND<CTRL-J>
  21. 130  ON VE% GOSUB 150,210,230,260,350,390,440,440,440,440,440,440,350,450,450,500,600
  22. 140  GOTO 70
  23. 145  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>        <CTRL-M>*** 'GET' COMMAND<CTRL-J>
  24. 150  IF NO% =  -1  THEN  PRINT "YEAH, SO, GET WHAT?": RETURN 
  25. 155  IF OB%(NO%) < >RO%  THEN  PRINT "NOTHING LIKE THAT AROUND HERE...": RETURN 
  26. 160  IF NO% = 1  THEN  PRINT "YOU AREN'T STRONG ENOUGH!": RETURN 
  27. 161  IF NO% = 3  AND SAD = 1  THEN  PRINT : PRINT : PRINT "THE SNAKE SINKS HIS FANGS INTO YOUR     WRIST AS YOU ATTEMPT TO GRAB HIM. YOU   ARE POISONED AND ABOUT TO DIE.": PRINT : PRINT : PRINT "  GAME OVER.. YOU LOSE.": END 
  28. 165  IF NO% = 2  THEN  PRINT "THE FROG IS TOO QUICK TO CATCH.": RETURN 
  29. 170  IF OB%(NO%) =  -1  THEN  PRINT "SORRY, YOU ALREADY HAVE IT.": RETURN 
  30. 180  IF OB%(NO%) < >RO%  THEN  PRINT "NOTHING LIKE THAT AROUND HERE...": RETURN 
  31. 190  IF OC% = MC%  THEN  PRINT "YOU DON'T HAVE THE RESOURCES TO CARRY   ALL THIS.": RETURN 
  32. 200 OC% = OC% +1:OB%(NO%) =  -1: PRINT "TAKEN.": RETURN 
  33. 205  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>        <CTRL-M>*** 'DROP' COMMAND<CTRL-J>
  34. 210  IF NO% =  -1  THEN  PRINT : PRINT "  IS THAT A NEW BREAKING MOVE?": RETURN 
  35. 215  IF OB%(NO%) < > -1  THEN  PRINT "YOU CAN'T DROP IT IF YOU DON'T HAVE     IT.": RETURN 
  36. 220 OB%(NO%) = RO%:OC% = OC% -1: PRINT "DROPPED.": RETURN 
  37. 225  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>        <CTRL-M>*** 'GO' COMMAND<CTRL-J>
  38. 230 D = NO% -4: IF D <0  OR D >5  THEN  PRINT "PLEASE GIVE A GENERAL DIRECTION.": RETURN 
  39. 240  IF R%(RO%,D) = 0  THEN  PRINT "CAN'T GO THAT WAY!": RETURN 
  40. 250 RO% = R%(RO%,D): POP : GOTO 40
  41. 255  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>        <CTRL-M>*** 'SHOOT' COMMAND<CTRL-J>
  42. 258  IF OB%(5) < > -1  THEN  PRINT "YOU DON'T HAVE THE GUN.": RETURN 
  43. 260  IF NO% =  -1  THEN  PRINT "SHOOT... WHAT?": RETURN 
  44. 265  IF NB = 0  THEN  PRINT "< CLICK >. SORRY, NO AMMO.": RETURN 
  45. 270  IF NO% < >3  AND NO% < >2  THEN  PRINT "CONSIDER IT ALREADY DEAD.": RETURN 
  46. 280  IF NO% = 3  THEN  PRINT "THE SNAKE THRASHES AROUND FOR A WHILE   BEFORE FINALLY DYING.":SAD = 0:NB = 0: RETURN 
  47. 285  IF NO% = 2  THEN  PRINT "THE FROG IS TOO QUICK TO BE SHOT. YOU   ARE NOW OUT OF AMMO.":FAD = 1:NB = 0: RETURN 
  48. 290  IF RO% = 1  THEN  PRINT "  WOW, REAL FUN.": RETURN 
  49. 310  PRINT "  THE BOY LOOKS SUDDENLY RELIEVED TO    HAVE A FRIEND. HE REACHES INTO HIS      POCKET, PULLS OUT $100,000 AND GIVES IT TO YOU WITH A LAUGH. YOU FINALLY HAVE   ENOUGH MONEY TO GET YOUR POOR MOTHER"
  50. 320  PRINT "THAT TERRIBLE GALLSTONE OPERATION THAT  SHE SO BADLY NEEDS.                                                               CONGRATULATIONS AND GOODBYE!"
  51. 340  END 
  52. 345  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>        <CTRL-M>*** 'LOOK' COMMAND<CTRL-J>
  53. 350  IF NO% =  -1  THEN  POP : GOTO 40
  54. 352  IF NO% >5  THEN  PRINT "YOU CAN ONLY SEE SO FAR.": RETURN 
  55. 353  IF RO% < >OB%(NO%)  AND OB%(NO%) < > -1  THEN  PRINT "NOTHING LIKE THAT AROUND HERE...": RETURN 
  56. 354  IF NO% = 3  AND SAD = 1  THEN  PRINT "THE SNAKE IS LONG AND APPEARS HUNGRY.": RETURN 
  57. 355  IF NO% = 3  AND SAD = 0  THEN  PRINT "THE SNAKE IS LONG AND APPEARS DEAD.": RETURN 
  58. 356  IF NO% = 4  THEN  PRINT "THE VINE APPEARS TO BE STRONG, LONG,    AND FIBROUS.": RETURN 
  59. 358  IF NO% = 5  AND NB = 1  THEN  PRINT "THE GUN HAS ONE BULLET IN IT.": RETURN 
  60. 359  IF NO% = 5  AND NB = 0  THEN  PRINT "THE GUN IS EMPTY.": RETURN 
  61. 360  IF NO% = 1  AND OB%(4) < > -1  THEN  PRINT "  A LONG VINE IS WRAPPED AROUND THE     BASE OF THE OLD, GNARLED TREE.":OB%(4) = 1: RETURN 
  62. 362  IF NO% = 1  THEN  PRINT "  THE TREE IS OLD AND GNARLED.": RETURN 
  63. 370  IF NO% = 2  AND FAD = 1  THEN  PRINT "  THE FROG LOOKS OLD AND, STRANGELY     ENOUGH, INTELLIGENT.": RETURN 
  64. 371  IF NO% = 2  AND FAD = 0  THEN  PRINT "IT'S... IT'S DEAD!": RETURN 
  65. 385  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>        <CTRL-M>*** 'TALK' COMMAND<CTRL-J>
  66. 390  IF NO% =  -1  THEN  PRINT "TALK TO WHAT?": RETURN 
  67. 395  IF RO% < >OB%(NO%)  AND OB%(NO%) < > -1  THEN  PRINT "NOTHING LIKE THAT AROUND HERE...": RETURN 
  68. 400  IF NO% < >2  AND NO% < >3  THEN  PRINT "IT DOESN'T SEEM TO CARE ABOUT WHAT YOU  HAVE TO SAY.": RETURN 
  69. 410  IF NO% = 2  THEN  PRINT "HE LOOKS UP AT YOU, GROGGILY, AND SAYS, 'BRING ME THE SNAKE.'": RETURN 
  70. 420  IF NO% = 3  THEN  PRINT "THE SNAKE JUST LOOKS AT YOU HUNGRILY.": RETURN 
  71. 435  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>        <CTRL-M>*** SINGLE LETTTER COMMAND<CTRL-J>
  72. 440 NO% = VE% -3: GOTO 230
  73. 445  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>        <CTRL-M>*** 'I' COMMAND<CTRL-J>
  74. 450  PRINT "YOU ARE CARRYING:": PRINT :I0 = 0
  75. 460  FOR I = 1 TO NN%: IF OB%(I) =  -1  THEN  HTAB 5: PRINT N$(I):I0 = 1
  76. 470  NEXT : IF I0 = 0  THEN  PRINT "NOTHING."
  77. 480  RETURN 
  78. 500  REM   *** 'GIVE' COMMAND
  79. 505  IF NO% =  -1  THEN  PRINT "GIVE...WHAT?": RETURN 
  80. 507  IF OB%(NO%) < > -1  THEN  PRINT "YOU DON'T HAVE IT.": RETURN 
  81. 510  IF RO% < >2  AND RO% < >4  THEN  PRINT "TO WHO?": RETURN 
  82. 520  IF RO% = 4  AND SAD = 1  THEN  PRINT "HE SEEMS TO PREFER YOU.": RETURN 
  83. 521  IF RO% = 4  THEN  PRINT "HE'S DEAD.": RETURN 
  84. 524  IF FAD = 0  THEN  PRINT "HE'S DEAD.": RETURN 
  85. 525  IF NO% < >3  THEN  PRINT "HE DOESN'T WANT IT AT ALL.": RETURN 
  86. 530  IF RO% = 2  THEN  PRINT "  THE FROG SHOOTS HIS TONGUE OUT AND    GRABS THE SNAKE RIGHT OUT OF YOUR HAND. HE THEN EFFECTIVELY SWALLOWS IT.        <BELCH.>":OB%(3) = 0: RETURN 
  87. 600  REM  *** 'SWIM' COMMAND
  88. 610  IF NO% < > -1  THEN  PRINT "WHAT THE...?": RETURN 
  89. 615  IF RO% < >2  AND RO% < >3  THEN  PRINT "CAN'T SWIM HERE.": RETURN 
  90. 620  IF RO% = 2  AND OB%(3) < >0  THEN  PRINT "THE FROG WON'T LET YOU.": RETURN 
  91. 630  IF RO% = 2  THEN  PRINT "THE WATER IS KIND OF COLD, BUT YOU      ENJOY PRACTICING HOW TO SWIM.":SK = SK +5: RETURN 
  92. 640  IF RO% = 3  AND SK <5  THEN  PRINT : PRINT : PRINT "YOUR SWIMMING CAPABILITIES AREN'T WHAT  THEY USED TO BE: HALF WAY ACROSS THE    RAPID RIVER YOU DROWN.": PRINT : PRINT : PRINT "  GAME OVER.. YOU LOSE.": END 
  93. 650  PRINT : PRINT : PRINT "  YOU SWIM ACROSS THE RIVER SAFELY AND  CAN SAFELY CONTINUE YOUR JOURNEY TO     WHEREVER YOU WERE GOING."
  94. 660  PRINT : PRINT : PRINT "  BE HAPPY...YOU WON!": END 
  95. 9999  END 
  96. 10000  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>          <CTRL-M>*** ROOM DATA<CTRL-J>
  97. 10010  DATA   "  YOU ARE IN A SECTION OF THE LUSH      RAIN FOREST.",3,2,0,0,0,0 
  98. 10015  DATA "  THE JUNGLE THINS OUT HERE TO FORM A   CLEARING. THE CENTER OF THE CLEARING    IS OCCUPIED BY A CLEAR, SHALLOW POND.",4,0,0,1,0,0
  99. 10020  DATA     "  YOU ARE STANDING ON THE SOUTHERN BANK OF A SWIFT FLOWING RIVER. AN EXTREMELY  RICKETY WOODEN BRIDGE CROSSES THE RIVER,BUT I WOULDN'T TRUST THAT THING EVEN IF IT WERE RE-ENFORCED.",0,4,1,0,0,0
  100. 10025  DATA    "  YOU ARE IN A VERY DENSE SECTION OF    THE RAIN FOREST. IT IS DARK AND DANK    AROUND HERE: KIND OF EVIL. YOU SHIVER,  EVEN THOUGH IT ISN'T COLD. A STRANGE    FEELING OF DREAD GRIPS YOU.",0,0,2,3,0,0
  101. 19990 NR% = 4: DIM DE$(NR%),R%(NR%,5)
  102. 19991  FOR I = 1 TO NR%: READ I$:DE$(I) = I$: FOR J = 0 TO 5: READ R%(I,J): NEXT J: NEXT I
  103. 19999  RETURN 
  104. 20000  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>          <CTRL-M>*** VERB DATA<CTRL-J>
  105. 20010 NV% = 17: DIM V$(NV%)
  106. 20020 V$(1) = "GET":V$(2) = "DROP":V$(3) = "GO":V$(4) = "SHOOT":V$(5) = "LOOK":V$(6) = "TALK"
  107. 20030 V$(7) = "N":V$(8) = "E":V$(9) = "S":V$(10) = "W":V$(11) = "U":V$(12) = "D":V$(13) = "L"
  108. 20040 V$(14) = "INVENTORY":V$(15) = "I"
  109. 20050 V$(16) = "GIVE"
  110. 20060 V$(17) = "SWIM"
  111. 29999  RETURN 
  112. 30000  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>          <CTRL-M>*** NOUN DATA<CTRL-J>
  113. 30010 NN% = 11: DIM N$(NN%),OB%(NN%)
  114. 30020 N$(1) = "TREE":OB$(1) = "  THERE IS A LARGE TREE HERE."
  115. 30030 N$(2) = "FROG":OB$(2) = "  A FROG IS SITTING ON A LILY PAD IN    THE WATER."
  116. 30040 N$(3) = "SNAKE":OB$(3) = "  GOOD GOD! THERE IS A SNAKE OVER THERE IN THE SHADOWS."
  117. 30050 N$(4) = "VINE":OB$(4) = "  A VINE IS HERE."
  118. 30060 N$(5) = "GUN":OB$(5) = "  YOUR GUN IS HERE."
  119. 30200 N$(6) = "NORTH":N$(7) = "EAST":N$(8) = "SOUTH":N$(9) = "WEST":N$(10) = "UP":N$(11) = "DOWN"
  120. 39999  REM 
  121. 40000  REM *OBJECT LOCATIONS
  122. 40020 OB%(1) = 1:OB%(2) = 2:OB%(3) = 4:OB%(4) = 0:OB%(5) =  -1
  123. 49999  RETURN 
  124. 50000 SK =  INT( RND(1) *10) +1
  125. 50010  RETURN